package com.leo.foodmaster.admin.purchase.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.leo.foodmaster.admin.purchase.entity.Supplier;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leo.foodmaster.commons.entity.Result;

import java.util.List;

/**
 * <p>
 * 供应商服务类
 * </p>
 *
 * @author Leo
 * @since 2021-07-31
 */
public interface ISupplierService extends IService<Supplier> {

    /**
     * 条件分页查询供应商列表
     * @param page 分页条件
     * @param name 供应商名称
     * @param address 供应商地址
     * @param status 供应商状态
     * @return IPage<Supplier>
     */
    IPage<Supplier> getSupplierPageList(Page<Supplier> page, String name, String address, String status);

    /**
     * 新增供应商
     * @param supplier 供应商信息
     * @return Result<Object>
     */
    Result<Object> addSupplier(Supplier supplier);

    /**
     * 修改供应商
     * @param supplier 供应商信息
     * @return Result<Object>
     */
    Result<Object> updateSupplier(Supplier supplier);

    /**
     * 导入供应商数据
     * @param supplierList 供应商列表
     * @param updateSupport 更新
     * @return String
     */
    String importSupplier(List<Supplier> supplierList, boolean updateSupport);

    /**
     * 删除供应商
     * @param id 供应商Id
     * @return 结果
     */
    Result<Object> deleteSupplier(Long id);
}
